关于二叉查找树的讨论+ 我的误解
引:一句话(66)这个问题 没有考虑设计原因,还把一个知识点混起了。
还有没有把书读懂。
avl是一种二叉查找树
没有二叉排序树说法(纠正书上bug)
线索树是为了非递归遍历设计
Q:为什么要有二叉查找树
Q:二叉查找树如何优化
Q:查找树有哪些?
Q:书上标题为什么那么设计?
Q:如何不用递归取遍历树?//线索树就是
其实 看了导论中 二叉排序树中序的前驱、后继,
看懂了后继,对称比较,就知道前驱的结论
看懂了后继,再说二叉查找的删除,关键操作就搞定了。
不过心里还想了一个问题,
对于二叉查找树问题 除了找到中序条件的前驱、后继,
还能找到
后序条件的前驱、后继吗
前序条件的前驱、后继吗
--------------------------------------------------------------------------------------
A:比他小的,比他大的。//66补充,查找的目标。前序,后序不能查到。
A:
二叉排序树就是对应中序遍历 //用途
A:问题其实是用在,跟查找树无关。
就是线索二叉树
线索二叉树不在查找的领域//仅仅是方便遍历的复用,我认为。
利用线索二叉树可以非递归遍历。//66非递归! 翻翻书,原来遍历的需要
//小结66:一棵树如果又能前序,中序,后序,那么他是为遍历设计的。
A:
avl就是二叉查找树的一种 //66这是基础啊,Eskimo mention it! bst avl b树为查找而生。
//没有二叉排序树说法,书上说法kd
A:
3种二叉查找树,常见的
avl rbt sbt //66我也是才知道。
sbt是中国少年发明的
avl就是平衡二叉查找树的另一个名字而已 //66所以不要被书上标题kd
A://平衡的意义!!不仅仅高度,是为了查找
Eskimo - -,(282957606) 15:02:31
你连avl和平衡二叉树的区别都不知道???
Eskimo - -,(282957606) 15:02:52
一根普通的二叉树平衡有任何意义吗???
Eskimo - -,(282957606) 15:02:57
服了,仔细看看书
A:小结关系
平衡二叉树就是优化过的二叉查找树,
用一些辅佐手段保证查找插入删除的平均时间是logn级别的
可不可以这么理解,就是因为二叉查找树最坏情况是o(n),
所以我们用平衡二叉树去优化他,最后 最坏是 logN,这样就圆满了
其实就是防止它退化成链